<?php

class UsuarioDAO{

	private static $instancia = null;

	private function __construct(){
			
	}
	public static function getInstancia(){
		if (!isset(self::$instancia)){
			UsuarioDAO::$instancia = new UsuarioDAO();
		}
		return UsuarioDAO::$instancia;
	}

	public function create($usuario){
		$query = "INSERT INTO usuario (dataCadastro, login, nomeUsuario, permissao, senha) values (now(),
					'{$usuario->getLogin()}','{$usuario->getNomeUsuario()}',
					'{$usuario->getPermissao()}','{$usuario->getSenha()}')";
			
		$result = mysql_query($query);
		return $result;
			
	}

	public function delete($id){
		$query = "delete from usuario where id=$id";
		$result = mysql_query($query);
		return $result;
	}

	public function update($id, $usuario){
		$query = "update usuario set
					login = '{$usuario->getLogin()}',nomeUsuario = '{$usuario->getNomeUsuario()}',
					permissao = '{$usuario->getPermissao()}'
					where id = '{$id}'";

		$result = mysql_query($query);
		return $result;
	}

	public function updatePassword($id, $novaSenha){
		$query = "update usuario set
					senha = '{$novaSenha}'
					where id = '{$id}'";

		$result = mysql_query($query);
		return $result;
	}

	public function view(){
		$usuarios = array();
		$query = "select * from usuario";
		$result = mysql_query($query);
			
		while ($res = mysql_fetch_array($result)){
			$usuario = new Usuario();
			$usuario->setId($res['id']);
			$usuario->setNomeUsuario($res['nomeUsuario']);
			$usuario->setLogin($res['login']);
			$usuario->setDataCadastro($res['dataCadastro']);
			$usuario->setPermissao($res['permissao']);
			$usuario->setSenha($res['senha']);

			$usuarios[] = $usuario;
		}
		return $usuarios;
	}
	public function search($id){
		$query = "select * from usuario where id=".$id;
		$result = mysql_query($query);

		$user = new Usuario();
		while ($res = mysql_fetch_array($result)){
			$user->setId($res['id']);
			$user->setNomeUsuario($res['nomeUsuario']);
			$user->setPermissao($res['permissao']);
			$user->setLogin($res['login']);
			$user->setSenha($res['senha']);
		}

		return $user;
	}


	public function verificaLogin($usuario){
		$retorno = false;

		$query = "SELECT * FROM usuario WHERE login = '".$usuario->getLogin()."' and senha ='".$usuario->getSenha()."'";
		$sql = mysql_query($query);

		if( mysql_num_rows($sql) == 1 ){
			$retorno = true;
		}

		return $retorno;
	}

	public function getUsuarioPorLogin($login){
		$usuario = null;

		$query = "SELECT * FROM usuario WHERE login = '".$login."'";
		$sql = mysql_query($query);

		while($res = mysql_fetch_array($sql)){
			$usuario = $this->search($res['id']);
		}

		return $usuario;
	}

	public function getLastId(){
		return mysql_insert_id();
	}

	public function getSenhaPorId($id){
		$usuario = $this->search($id);

		return $usuario->getSenha();

	}

}

?>